using System;
using System.Collections.Generic;
using System.Text;

namespace zeroflag.Windows.Custom
{
	public abstract class TreeController<ViewType, DataType> :
		CustomController<ACustomView>,
		IItemsSelectable<TreeController<ViewType, DataType>, DataType>
		//, ICustomViewController<DataView<DataViewController<ViewType, DataType>, DataType>>
		where ViewType :
		ACustomView
		where DataType : class
		//DataView<CustomViewController<ViewType>>
	{
		public TreeController()
			: base()
		{
		}

		public TreeController(ViewType view)
			: base(view)
		{
		}

		DataType m_Value;

		public virtual DataType Value
		{
			get { return m_Value; }
			set { m_Value = value; }
		}


		SelectedItems<TreeController<ViewType, DataType>, DataType> m_SelectedItems;

		public SelectedItems<TreeController<ViewType, DataType>, DataType> SelectedItems
		{
			get { return m_SelectedItems; }
		}
		
	}
}
